package com.tz.service;

import com.tz.entity.Poll;
import com.tz.entity.ResearchDetail;
import com.tz.entity.json.PollDetails;

import java.util.List;

/**
 * Created by 侯畅畅 on 2017/12/29.
 */
public interface ResearchDetailService {
    /**
     * 修改明细(主要修改有效性)的同时,修改调查
     * 键是Detailid,值是有效无效对应的数字
     * 因为同时修改多个表,所以用map来存放
     */
    void alterResearchDetails(List<Long> detailid);

    /**
     * 添加一份调查明细
     */
    void addResearchDetail(Long researchid, ResearchDetail researchDetail);

    /**
     * 显示一次调查的所有明细
     *
     * @param researchid
     * @return 明细
     */
    List<ResearchDetail> gainAllDetails(Long researchid);

    /**
     * 显示一条调查记录的明细
     *
     * @param detailid
     * @return 一个明细
     */
    ResearchDetail selectDetailById(Long detailid);

    /**
     * 显示一次明细里所有的题目
     * @return 明细里所有题目
     */
    List<Poll> gainAllPolls(Long detailid);

    /**
     * 插入答案
     *
     * @param detailid
     * @param polls
     */
    void insertBatchPolls(Long detailid, List<Poll> polls);

    /**
     * 查看是否添加过
     */
    Integer didThisResearch(Long researchid, String ipaddress);
    /**
     * 查看有多少数据
     */
    Integer countDetailbyResearchId(Long researchid);

    /**
     * 返回一个集合
     */
    List<PollDetails> getPollDetails(ResearchDetail researchDetail);
    /**
     * 返回平均分
     */
    Double selectAVGByResearchID(Long researchid);
}